from django.shortcuts import render, redirect
# 导包
from django.http import HttpResponse, HttpResponseRedirect, JsonResponse
# 导入类视图
from django.views import View
import json
from django.core.serializers import serialize
from myapp.myser import UserSer,PicsSer
from rest_framework.response import Response
from rest_framework.views import APIView
# 导入加密库
import hashlib
# 导入图片库
# 绘画库
from PIL import ImageDraw
# 字体库
from PIL import ImageFont
# 图片库
from PIL import Image
# 随机库
import random
# 文件流
import io

from myapp.models import User,Pics
import requests
import jwt_test

# 导入上传文件夹配置
from mydjango.settings import UPLOAD_ROOT
import os

# 导入原生sql模块
from django.db import connection

import jwt

# 导入redis数据库
import redis

# 导入时间模块
import time

# 导入公共目录变量
from mydjango.settings import BASE_DIR

# 导包
from django.db.models import Q, F

# 导入dwebsocket的库
from dwebsocket.decorators import accept_websocket
import uuid

from .models import *

import redis

# 定义ip地址和端口
host = '127.0.0.1'
port = 6379

# 定义链接对象
r = redis.Redis(host=host, port=port)





#幻灯片接口
class PicsList(APIView):
    def get(self,request):

        #查询数据
        pics = Pics.objects.filter().values('title','link','img')
        
        
        # 序列化
        pics_ser = PicsSer(pics,many=True)

        
        

        return Response(pics_ser.data)


# 插入幻灯片
class InsertPics(APIView):
    def get(self,request):

        # 接收参数
        title = request.GET.get('title','null')
        link = request.GET.get('link','null')
        img = request.GET.get('img','null')


        # 排重
        pics = Pics.objects.filter(title=title).first()

        if pics:
            res = {}
            res['code'] = 405
            res['message'] = '该活动已存在'
            return Response(res)

        # 入库
        pic = Pics(title=title, link=link,img=img)
        pic.save()

        res = {}
        res['code'] = 200
        res['message'] = '注册成功'

        return Response(res)


# 删除幻灯片
class DePics(APIView):
    def post(self,request):
        id = request.data['id']
        Pics.objects.filter(id=id).delete()
        return Response({
            'code': 200
        })
    

# 修改幻灯片
class UpPics(APIView):
    def get(self,request):
        id = request.GET.get('id')
        title = request.GET.get('title')
        link = request.GET.get('link')
        img = request.GET.get('img')

        Pics.objects.filter(id=id).update(
            title=title,
            link=link,
            img=img
                                          )
        return Response({
            'code': 200
        })







